Interactive geometry software (IGS, or dynamic geometry environments, DGEs) are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting a few points and using them to define new objects such as lines, circles or other points. After some construction is done, one can move the points one started with and see how the construction changes.
The earliest IGS was the Geometric Supposer, which was developed in the early 1980s.[1] This was soon followed by Cabri in 1986 and The Geometer's Sketchpad.
There are three main types of computer environments for studying school geometry: supposers, dynamic geometry environments (DGEs) and Logo-based programs.[2] Most are DGEs: software that allows the user to manipulate ("drag") the geometric object into different shapes or positions. The main example of a supposer is the Geometric Supposer, which does not have draggable objects, but allows students to study pre-defined shapes. Nearly all of the following programs are DGEs.
The following table provides a first comparison of the different software according to their licence and platform.
Software | Cost (USD) | Licence | Platforms |
---|---|---|---|
Apollonius | 3.99 US$ | Proprietary | iPhone/iPod Touch |
Baghera | ? | ? | Windows/? |
Cabri Geometry | ? | Proprietary | Windows, Mac OS X |
Cabri-Euclide | ? | ? | Windows/? |
C.a.R. | Free | GPL | Windows, GNU/Linux, Mac OS X |
CaRMetal | Free | GPL | Windows, GNU Linux, Mac OS X |
Cinderella 1.4 | Free | Proprietary | Windows, GNU/Linux, Mac OS X (Java) |
Cinderella 2.0 | 69 US$ | Proprietary | Windows, GNU/Linux, Mac OS X (Java) |
Defi | ? | ? | ? |
DrGeo | Free | GPL | Windows, GNU/Linux, Mac OS X |
Euklid DynaGeo | Shareware | Proprietary | Windows |
Euklides | Shareware | Proprietary | Windows |
Eukleides | Free | GPL | Windows, GNU/Linux, Mac OS X |
Gambol | ? | ? | Windows, GNU/Linux, Mac OS X |
GCLC | Free | Proprietary | Windows, GNU/Linux |
GeoGebra | Free | GPL | Windows, GNU/Linux, Mac OS X |
Geolog | ? | ? | Windows/? |
The Geometer's Sketchpad | ? | Proprietary | GNU/Linux, Windows, Mac OS X (Java) |
Geometric Supposer | ? | ? | ? |
Geometrix | Free | Proprietary | Linux, Windows |
Geometry Expert (GEX) | ? | ? | Windows, GNU/Linux, Mac OS X |
Geometry Explorer | Free | ? | Windows, GNU/Linux, Mac OS X |
Geometry Expressions | ? | Proprietary | Windows, GNU/Linux, Mac |
Geometry Tutor | ? | ? | Windows/? |
GeoNext | Free | GPL | Windows, GNU/Linux, Mac OS X |
Géoplan | Free | CeCILL | Windows |
GeoProof | Free | GPL | Windows, GNU/Linux, Mac OS X |
GeoView | Free | GPL | Windows, GNU/Linux, Mac OS X |
GEUP | ? | Proprietary | Windows |
GRACE | ? | ? | Windows, GNU/Linux, Mac OS X |
iGeom | Free | Proprietary | GNU/Linux, Windows, Mac OS X |
Inkscape | Free | GPL | GNU/Linux, Windows, Mac OS X |
Isard | ? | ? | Windows |
Jeometry | ? | ? | Windows, GNU/Linux, Mac OS X |
JSXGraph | Free | GNU LGPL | Windows, GNU/Linux, Mac OS X |
Kig | Free | GPL | GNU/Linux |
Kgeo | Free | GPL | GNU/Linux |
KmPlot | Free | GPL | GNU/Linux, Mac OS X |
KSEG | Free | GPL | Windows, GNU/Linux, Mac OS X |
Live Geometry | Free | Free | Windows, Mac OS X (Silverlight & WPF) |
MathKit | ? | Proprietary | GNU/Linux, Windows, Mac OS X (Java) |
Mentoniezh | ? | ? | ? |
OpenEuclide | Free | GPL | Windows, GNU/Linux |
Tabula | 19.95 US$ | Proprietary | Windows, Mac OS X (Silverlight) |
Tabulae | Free | Proprietary | GNU/Linux, Windows, Mac OS X (Java) |
WinGeom | ? | ? | Windows |
WIRIS | ? | Proprietary | GNU/Linux, Windows, Mac OS X (Java) |
Software | Cost (USD) | Licence | Platforms |
---|---|---|---|
Archimedes Geo3D | Shareware | Proprietary | Windows/Mac OS X/Linux |
Cabri 3D | Shareware | Proprietary | Windows/Mac OS X |
GeoGebra (from version 5.0 Beta) | Free | GPL | Windows, GNU/Linux, Mac OS X |
Geometria | Free | GPL | Windows, GNU/Linux, Mac OS X |
GeomSpace | Free | GPL | Windows, GNU/Linux, OpenSolaris, BSD |
GeomView | Free | GNU LGPL | Unix |
Géospace | Free | CeCILL | Windows |
GEUP 3D | Shareware | Proprietary | Windows |
Yenka 3D Shapes | Free for non-commercial use | Proprietary | Windows |
WIRIS | ? | Proprietary | Windows, GNU/Linux, Mac OS X |
Software | Cost (USD) | License | Platforms | Brief Info |
---|---|---|---|---|
SpaceFuncs | Free | BSD | Windows, GNU/Linux, Mac OS X (Python) |
Uses FuncDesigner for parametrization and automatic differentiation, OpenOpt for solving systems of geometric equations and numerical optimization |
The following table provides a more detailed comparison :
Software | Calculations | Macros | Loci | Animations | Scripting | Assignments | LaTeX export | Web export | Multilingual | Proofs | Extra |
---|---|---|---|---|---|---|---|---|---|---|---|
Cabri II Plus | Yes | Yes | Yes | Yes | Yes | Yes (with plug-in) | No | Yes | Yes | Yes (on relations) | Available on TI Calculator |
CaR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? |
CaRMetal | Yes (recursive) | Yes | Yes | Yes (multiple) | Yes (JavaScript) | Yes | Yes | Yes | Yes | Yes (probabilistic) | Amodality, folder system, the Monkey |
Cinderella | Yes | Yes | Yes | Yes | Yes | Yes | Yes (PDF) | Yes | Yes | Probabilistic | Several geometries, Physics simulations |
GCLC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Readable proofs, support for 3D |
GeoGebra | Yes | Yes | Yes | Yes | Yes (JavaScript) | Yes (JavaScript) | Yes (PSTricks & PGF/TikZ) | Yes | Yes (55 languages) | No | CAS, HTML5 Export (from version 4.2) 3D (from version 5.0) |
Geometria | Yes | No | Yes | Yes | No | Yes | No | Yes | Yes | No | Two-role (teacher, student) model |
Geometrix | Yes | No | Yes | Yes | No | Yes | No | No | No | Yes | Interactive proof, diagram checking, teacher/student models, labels with dynamic placeholders |
GeoNext | Yes | No | No | Yes | ? | ? | No | ? | Yes | No | Available as a web app |
Géoplan-Géospace | Yes | Yes | Yes | Yes | Yes | No | No | Yes (activeX) | Yes | Yes | Sequences, 2D & 3D, human readable file format |
GeoProof | Yes | No | No | No | No | No | Yes | No | No | Yes | Automatic formal proofs |
GEUP | Yes | Yes | Yes | Yes | ? | No | ? | No | Yes | No | ? |
iGeom | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Probabilist | Recurrent scripts |
Kig | Yes | Yes | Yes | No | Yes (Python) | No | Yes (PSTricks) | No | Yes | No | Labels with dynamic placeholders |
Live Geometry | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Includes player. |
Sketchpad | Yes | Yes | Yes | Yes | Yes | No | ? | Yes (limited) | Yes | No | Functions & function plots, symbolic differentiation, mathematical notation |
Tabula | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Folding, cutting, taping, marker, and working instrument models. |
Tabulae | Yes | Yes | Yes | No | No | No | No | Yes | Yes | No | Collaborative sessions over the internet. |
Cabri 3D | Yes | No | No | Yes | No | No | No | Yes (limited) | Yes | No | ? |
Archimedes Geo3D | Yes | Yes | Yes | Yes | No | No | No | No | No (Eng De Fr) | No | Intersection of Loci |
GEUP 3D | Yes | No | Yes | No | No | No | No | No | Yes | No | ? |
Software | Calculations | Macros | Loci | Animations | Scripting | Assignments | LaTeX export | Web export | Multilingual | Proofs | Extra |
We detail here the features related to macro constructions. (TODO)
Software | Allows recursity | Allows saving |
---|---|---|
Cabri II Plus | Yes | Yes |
GCLC | No | No |
GeoGebra | Yes | Yes |
Géoplan-Géospace | Yes | Yes |
iGeom | Yes | Yes |
Kig | ? | Yes |
KSEG | Yes | Yes |
Sketchpad (GSP) | Yes (via Iteration) | Yes |
We detail here the loci features. (TODO)
Software | Take a point of a locus | Intersection of two loci |
---|---|---|
Cabri II Plus | Yes | Yes |
CaR | Yes | Yes |
GeoGebra | Yes | No |
Géoplan-Géospace | Yes | No |
iGeom | Yes | No |
Kig | Yes | No |
Sketchpad (GSP) | Yes | No |
We detail here the proof related features. (TODO)
Software | Interactive Proofs | Automatic Proofs | Probabilist Proofs |
---|---|---|---|
Cabri II Plus | Feedback for | No | Yes in Cabri I |
Cinderella | No | Using external CAS | Yes |
GCLC | No | Yes | No |
Geometrix | Yes | Yes | No |
Géoplan-Géospace | No | No | Yes |
GeoProof | Yes | Yes | No |
iGeom | No | No | Yes |
Jeometry | No | Yes | No |
We detail here the measurements and calculation features. (TODO)
Software | Arbitrary Precision | Arithmetic expressions | Trigonometric functions | If | Object existence test |
---|---|---|---|---|---|
Cabri | Yes | Yes | Yes | Yes | No |
C.a.R. | No | Yes | Yes | Yes | Yes |
GCLC | No | Yes | Yes | Yes | Yes |
GeoGebra | No | Yes | Yes | Yes | Yes (JavaScript) |
Geometria | No | Yes | Yes | No | No |
Géoplan-Géospace | No | Yes | Yes | Yes (µ fonction) | No |
GeoProof | Yes | Yes | Yes | Yes | No |
Geometrix | No | Yes | Yes | Yes | No |
iGeom | No | Yes | Yes | No | No |
Software | PNG | BMP | TIFF | GIF | SWF | SVG | EMF | Fig | Postscript | LaTeX/Eukleides | LaTeX/Pstricks | LaTeX/PGF/TikZ | Asymptote | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C.a.R. | Yes | No | ? | ? | ? | Yes | No | Yes | Yes | No | No | Yes | ? | ? |
Cinderella | Yes | Yes | ? | ? | ? | ? | ? | ? | No | Yes | ? | ? | ? | ? |
GCLC | No | Yes | ? | ? | ? | Yes | No | No | Yes | No | No | Yes | ? | ? |
GeoGebra | Yes | No | No | Yes (animated) | No | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes |
GeoProof | Yes | No | ? | ? | ? | Yes | No | No | No | No | Yes | No | ? | ? |
Kig | Yes | Yes | ? | ? | ? | Yes | No | Yes | Yes | Yes | No | Yes | ? | ? |
KmPlot | Yes | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
KSEG | Yes | Yes | ? | ? | ? | No | No | ? | No | No | No | ? | ? | |
Geometrix | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ? | ? |
iGeom | No | No | No | Yes | No | No | No | No | Yes | No | No | No | ? | ? |
Software | Color | Filled/Not filled | Width | Transparency | Shown/Hidden | Layer | Shape of points | Type of line |
---|---|---|---|---|---|---|---|---|
Cabri | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
C.a.R. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
GCLC | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
GeoGebra | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Geometria | Yes | Yes | No | Yes | Yes | Yes | No | Yes |
Géoplan-Géospace | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
Kig | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
GeoProof | Yes | No | Yes | No | Yes | Yes | Yes | Yes |
Geometrix | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
iGeom | Yes | Yes | Yes | No | Yes | No | No | Yes |
C.a.R. a free GPL analog of GSP, written in Java.
CaRMetal a free GPL software written in Java. It is derived from C.a.R and provides another user interface.
Cabri II Plus an extended analog of GSP and actually the ancestor of all DGSs.
Cinderella - very different from GSP, written in Java.
The new version Cinderella.2 also includes a physics simulation engine and a scripting language. Also, it now supports macros, line segments, calculations, arbitrary functions, plots, etc. Full documentation is available online.
Euklid DynaGeo[1] is a shareware analog of GSP for windows.
Eukleides[2], GPL, is a geometry drawing language.
Dr Genius was an attempt to merge Dr. Geo and the Genius calculator
Dr. Geo[3] is a GPL interactive software especially valuable for younger students (7-15). Now Dr. Geo II[3] complete rewrite of Dr. Geo for the Squeak/Smalltalk environment is available.
Gambol[4] is a Euclidean, construction-based, drawing system
GCLC[4] is a dynamic geometry tool for visualizing and teaching geometry, and for producing mathematical illustrations. In GCLC figures are described rather than drawn. This approach stresses the fact that geometrical constructions are abstract, formal procedures and not figures. A concrete figure can be generated on the basis of abstract description. There are several output formats, including LaTeX, LaTeX/PStricks, LaTeX/Tikz, SVG, PostScript. There is a built-in geometry theorem prover (based on the area method). GCLC is available for Windows and Linux. WinGCLC is a Windows version of GCLC with graphical interface and provides a range of additional functionalities.
GeoGebra is free software that joins geometry, algebra and calculus for mathematics education in schools and universities.
Geolog[5] is a logic programming language for finitary geometric logic.
Geometry Expressions Does symbolic geometry. It uses symbolic inputs and returns symbolic outputs.
The Geometer's Sketchpad (GSP)
Geometrix[5] a free interactive geometry software, written in Prolog and Free Pascal (Lazarus).
Geonext [6] free (GPL) analog of GSP written in Java and offers a view calculus features (parametric curves, functions) as well.
The Geometric Supposer[6]
GeoProof[7] a free GPL dynamic geometry software, written in Objective Caml.
GEUP bit more calculus-oriented analog of GSP.
GRACE The Graphical Ruler And Compass Editor, an analog of GSP, written in Java.
iGeom[7] - Interactive Geometry on Internet is a freeware software for learning and teaching Geometry (analog of GSP and Cabri), written in Java.
Jeometry is a dynamic geometry applet
Isard[8] is an interactive geometry software originally written in Smalltalk. The latest version only works under VisualWorks 7.
Kig a free (GPL) analog of GSP for KDE, bit more to calculus-oriented, part of KDE Edutainment Project.
Kgeo[8] a free (GPL) analog of GSP for KDE, bit more too calculus-oriented, its interface is similar to Kig.
It is no more developed, replaced and improved by Kig.
KmPlot[9] is a mathematical function plotter released under the free (GPL). Includes a powerful parser and precision printing in correct scale. Simultaneously plot multiple functions and combine function terms to build new functions. Supports functions with parameters and functions in polar coordinates. Several grid modes are available.
KSEG free (GPL) analog of GSP which has a few important unique features. If you plan to do some heavy, complicated constructions in Euclidean geometry this is for you.
Non-Euclid[9] is a very basic Java-IGS only for hyperbolic geometry in the Poincaré disk and the upper half-plane models.
OpenEuclide[10] is a GPL 2D geometry software.
Sphaerica[11] is an open source geometry software for spherical geometry.
Live Geometry [10] is a free codeplex project that lets you create interactive ruler and compass constructions and experiment with them. It is written with Silverlight 4 and C# 4.0 (Visual Studio 2010). The core engine is a flexible and extensible framework that allows you to easily add new figure types and features. The project has two front-ends: WPF and Silverlight; they both share the common DynamicGeometry library.
TracenPoche[11] completely Adobe Flash program. Available in French,English and Spanish.
Tabula is a commercial dynamic geometry program created by Numeracy Works. Tabula supports hands-on learning and can be used to construct, cut, tape, fold, measure, and transform geometric figures. Built using Silverlight, it is both MacOS and Windows compatible.
Tabulae [12] is a dynamic geometry software written in Java. Under development from Federal University of Rio de Janeiro. Available in Brazilian Portuguese.
Wingeom[12] for high-precision geometric constructions in both two and three dimensions
Euler 3D
Euler 3D is a program that allows you to create and manipulate your own polyhedrons. It has a number of facilities: transformations, animations, creating duals, import/export VRML, etc.
Free registration required.
Geometria is free (GPL) cross-platform software based on a two-role (teacher, student) model. The teacher creates a problem, provides it with an answer and saves the problem in a file. The student opens the file and solves the problem. The student's actions are recorded. The teacher plays back the solution and grades it. The figures are limited to convex polyhedra, which can be measured, drawn upon, transformed, cut and joined.
PyGeo
JavaView
JavaView is a 3D geometry viewer and a mathematical visualization software. You can explore miscellaneous 3D models with it.
SingSurf
Based on JavaView, this program can calculate and draw singular algebraic curves and surfaces.
A very simple, online applet that allows one to view and bisect a cube in 3D space.
a cross-platform (Linux, Windows, Mac etc.) completely free (license: BSD) Python language module for 2D, 3D, N-dimensional space calculations with abilities of
All these programs can be divided into two category: deterministic and continuous. GeoGebra can be deterministic or continuous (one can change it in preferences).
All constructions in the deterministic programs (GSP, Cabri, Kseg and most of others) are completely determined by the given points but the result of some constructions can jump or behave unexpectedly when a given point is moved.
On the contrary, some constructions in continuous programs (so far only Cinderella and GeoGebra), depend on the number of hidden parameters and in such a way that moving a given point produces a continuous motion of the construction, as a result, if the point is moved back to the original position the result of construction might be different.
Here is a test to check whether a particular program is continuous:
Construct the orthocenter of triangle and three mid points (say A', B' C' ) between vertices and orthocenter.
Construct a circumcircle of A'B'C' .
This is the nine-point circle, it intersects each side of the original triangle at two points: the base of altitude and midpoint. Construct an intersection of one side with the circle at mid point now move opposite vertex of the original triangle, if the constructed point does not move when base of altitude moves through it that probably means that your program is continuous.
Although it is possible to make a deterministic program which behaves continuously in this and similar simple examples, in general it can be proved that no program can be continuous and deterministic at the same time.[13]